package com.lineage.william;

import com.lineage.DatabaseFactory;
import com.lineage.Server;
import com.lineage.server.model.Instance.L1PcInstance;
import com.lineage.server.serverpackets.S_HPUpdate;
import com.lineage.server.serverpackets.S_MPUpdate;
import com.lineage.server.serverpackets.S_OwnCharStatus;
import com.lineage.server.serverpackets.S_OwnCharStatus2;
import com.lineage.server.serverpackets.S_SPMR;
import com.lineage.server.serverpackets.ServerBasePacket;
import com.lineage.server.utils.SQLUtil;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

public class L1Blend_buff {
  private static ArrayList<ArrayList<Object>> aData = new ArrayList<>();
  
  private static boolean BUILD_DATA = false;
  
  private static L1Blend_buff _instance;
  
  public static final String TOKEN = ",";
  
  public static L1Blend_buff getInstance() {
    if (_instance == null)
      _instance = new L1Blend_buff(); 
    return _instance;
  }
  
  public static void main(String[] a) {
    try {
      while (true)
        Server.main(null); 
    } catch (Exception exception) {
      return;
    } 
  }
  
  public static void forIntensifyArmor(L1PcInstance pc) {
    ArrayList<Object> aTempData = null;
    if (!BUILD_DATA) {
      BUILD_DATA = true;
      getData();
    } 
    int i = 0;
    while (i < aData.size()) {
      aTempData = aData.get(i);
      if (pc.getQuest().get_step(((Integer)aTempData.get(0)).intValue()) == 1) {
        if (((Integer)aTempData.get(2)).intValue() != 0) {
          pc.addDmgup(((Integer)aTempData.get(2)).intValue());
          pc.get_other().set_Attack(pc.get_other().get_Attack() + ((Integer)aTempData.get(2)).intValue());
        } 
        if (((Integer)aTempData.get(3)).intValue() != 0) {
          pc.addBowDmgup(((Integer)aTempData.get(3)).intValue());
          pc.get_other()
            .set_BowAttack(pc.get_other().get_BowAttack() + ((Integer)aTempData.get(3)).intValue());
        } 
        if (((Integer)aTempData.get(4)).intValue() != 0) {
          pc.addHitup(((Integer)aTempData.get(4)).intValue());
          pc.get_other().set_Hit(pc.get_other().get_Hit() + ((Integer)aTempData.get(4)).intValue());
        } 
        if (((Integer)aTempData.get(5)).intValue() != 0) {
          pc.addBowHitup(((Integer)aTempData.get(5)).intValue());
          pc.get_other().set_BowHit(pc.get_other().get_BowHit() + ((Integer)aTempData.get(5)).intValue());
        } 
        if (((Integer)aTempData.get(6)).intValue() != 0) {
          pc.addSp(((Integer)aTempData.get(6)).intValue());
          pc.get_other().set_Sp(pc.get_other().get_Sp() + ((Integer)aTempData.get(6)).intValue());
        } 
        if (((Integer)aTempData.get(7)).intValue() != 0) {
          pc.addStr(((Integer)aTempData.get(7)).intValue());
          pc.get_other().set_Str(pc.get_other().get_Str() + ((Integer)aTempData.get(7)).intValue());
        } 
        if (((Integer)aTempData.get(8)).intValue() != 0) {
          pc.addDex(((Integer)aTempData.get(8)).intValue());
          pc.get_other().set_Dex(pc.get_other().get_Dex() + ((Integer)aTempData.get(8)).intValue());
        } 
        if (((Integer)aTempData.get(9)).intValue() != 0) {
          pc.addInt(((Integer)aTempData.get(9)).intValue());
          pc.get_other().set_Int(pc.get_other().get_Int() + ((Integer)aTempData.get(9)).intValue());
        } 
        if (((Integer)aTempData.get(10)).intValue() != 0) {
          pc.addCon(((Integer)aTempData.get(10)).intValue());
          pc.get_other().set_Con(pc.get_other().get_Con() + ((Integer)aTempData.get(10)).intValue());
        } 
        if (((Integer)aTempData.get(11)).intValue() != 0) {
          pc.addCha(((Integer)aTempData.get(11)).intValue());
          pc.get_other().set_Cha(pc.get_other().get_Cha() + ((Integer)aTempData.get(11)).intValue());
        } 
        if (((Integer)aTempData.get(12)).intValue() != 0) {
          pc.addWis(((Integer)aTempData.get(12)).intValue());
          pc.get_other().set_Wis(pc.get_other().get_Wis() + ((Integer)aTempData.get(12)).intValue());
        } 
        if (((Integer)aTempData.get(13)).intValue() != 0) {
          pc.addMaxHp(((Integer)aTempData.get(13)).intValue());
          pc.setCurrentHp(pc.getCurrentHp() + ((Integer)aTempData.get(13)).intValue());
          pc.get_other().set_Hp(pc.get_other().get_Hp() + ((Integer)aTempData.get(13)).intValue());
        } 
        if (((Integer)aTempData.get(14)).intValue() != 0) {
          pc.addMaxMp(((Integer)aTempData.get(14)).intValue());
          pc.setCurrentMp(pc.getCurrentMp() + ((Integer)aTempData.get(14)).intValue());
          pc.get_other().set_Mp(pc.get_other().get_Mp() + ((Integer)aTempData.get(14)).intValue());
        } 
        if (((Integer)aTempData.get(15)).intValue() != 0) {
          pc.addMr(((Integer)aTempData.get(15)).intValue());
          pc.get_other().set_Mr(pc.get_other().get_Mr() + ((Integer)aTempData.get(15)).intValue());
        } 
        if (((Integer)aTempData.get(16)).intValue() != 0) {
          pc.addother_ReductionDmg(((Integer)aTempData.get(16)).intValue());
          pc.get_other().set_ReductionDmg(
              pc.get_other().get_ReductionDmg() + ((Integer)aTempData.get(16)).intValue());
        } 
        if (((Integer)aTempData.get(17)).intValue() != 0) {
          pc.addHpr(((Integer)aTempData.get(17)).intValue());
          pc.get_other().set_Hpr(pc.get_other().get_Hpr() + ((Integer)aTempData.get(17)).intValue());
        } 
        if (((Integer)aTempData.get(18)).intValue() != 0) {
          pc.addMpr(((Integer)aTempData.get(18)).intValue());
          pc.get_other().set_Mpr(pc.get_other().get_Mpr() + ((Integer)aTempData.get(18)).intValue());
        } 
        if (((Integer)aTempData.get(19)).intValue() != 0) {
          pc.add_hppotion(((Integer)aTempData.get(19)).intValue());
          pc.get_other()
            .set_hppotion(pc.get_other().get_hppotion() + ((Integer)aTempData.get(19)).intValue());
        } 
        if (((Integer)aTempData.get(20)).intValue() != 0) {
          pc.add_exp(((Integer)aTempData.get(20)).intValue());
          pc.get_other().set_exp(pc.get_other().get_exp() + ((Integer)aTempData.get(20)).intValue());
        } 
        if (((Integer)aTempData.get(21)).intValue() != 0) {
          pc.addAc(((Integer)aTempData.get(21)).intValue());
          pc.get_other().set_ac(pc.get_other().get_ac() + ((Integer)aTempData.get(21)).intValue());
        } 
        if (((Integer)aTempData.get(22)).intValue() != 0) {
          pc.addWeightReduction(((Integer)aTempData.get(22)).intValue());
          pc.get_other().set_weight(pc.get_other().get_weight() + ((Integer)aTempData.get(22)).intValue());
        } 
        if (((Integer)aTempData.get(23)).intValue() != 0) {
          pc.addRegistStun(((Integer)aTempData.get(23)).intValue());
          pc.get_other().set_regist_stun(
              pc.get_other().get_regist_stun() + ((Integer)aTempData.get(23)).intValue());
        } 
        if (((Integer)aTempData.get(24)).intValue() != 0) {
          pc.addRegistStone(((Integer)aTempData.get(24)).intValue());
          pc.get_other().set_regist_stone(
              pc.get_other().get_regist_stone() + ((Integer)aTempData.get(24)).intValue());
        } 
        if (((Integer)aTempData.get(25)).intValue() != 0) {
          pc.addRegistSleep(((Integer)aTempData.get(25)).intValue());
          pc.get_other().set_regist_sleep(
              pc.get_other().get_regist_sleep() + ((Integer)aTempData.get(25)).intValue());
        } 
        if (((Integer)aTempData.get(26)).intValue() != 0) {
          pc.add_regist_freeze(((Integer)aTempData.get(26)).intValue());
          pc.get_other().set_regist_freeze(
              pc.get_other().get_regist_freeze() + ((Integer)aTempData.get(26)).intValue());
        } 
        if (((Integer)aTempData.get(27)).intValue() != 0) {
          pc.addRegistSustain(((Integer)aTempData.get(27)).intValue());
          pc.get_other().set_regist_sustain(
              pc.get_other().get_regist_sustain() + ((Integer)aTempData.get(27)).intValue());
        } 
        if (((Integer)aTempData.get(28)).intValue() != 0) {
          pc.addRegistBlind(((Integer)aTempData.get(28)).intValue());
          pc.get_other().set_regist_blind(
              pc.get_other().get_regist_blind() + ((Integer)aTempData.get(28)).intValue());
        } 
        if (((Integer)aTempData.get(29)).intValue() != 0)
          pc.get_other().set_PvP_dmg(pc.get_other().get_PvP_dmg() + ((Integer)aTempData.get(29)).intValue()); 
        if (((Integer)aTempData.get(30)).intValue() != 0)
          pc.get_other().set_PvP_hit(pc.get_other().get_PvP_hit() + ((Integer)aTempData.get(30)).intValue()); 
        if (((Integer)aTempData.get(31)).intValue() != 0)
          pc.get_other().set_PvP_bow_dmg(
              pc.get_other().get_PvP_bow_dmg() + ((Integer)aTempData.get(31)).intValue()); 
        if (((Integer)aTempData.get(32)).intValue() != 0)
          pc.get_other().set_PvP_bow_hit(
              pc.get_other().get_PvP_bow_hit() + ((Integer)aTempData.get(32)).intValue()); 
        if (((Integer)aTempData.get(33)).intValue() != 0)
          pc.get_other()
            .set_PvP_dmg_r(pc.get_other().get_PvP_dmg_r() + ((Integer)aTempData.get(33)).intValue()); 
        if (((Integer)aTempData.get(34)).intValue() != 0)
          pc.get_other().set_PvP_magic_r(
              pc.get_other().get_PvP_magic_r() + ((Integer)aTempData.get(34)).intValue()); 
        if (((Integer)aTempData.get(37)).intValue() != 0)
          pc.get_other().add_Ran_PvP_dmg_b(((Integer)aTempData.get(37)).intValue()); 
        if (((Integer)aTempData.get(38)).intValue() != 0)
          pc.get_other().add_Ran_PvP_magic_b(((Integer)aTempData.get(38)).intValue()); 
        pc.sendPackets((ServerBasePacket)new S_SPMR(pc));
        pc.sendPackets((ServerBasePacket)new S_OwnCharStatus(pc));
        pc.sendPackets((ServerBasePacket)new S_OwnCharStatus2(pc));
        pc.sendPackets((ServerBasePacket)new S_HPUpdate(pc.getCurrentHp(), pc.getMaxHp()));
        pc.sendPackets((ServerBasePacket)new S_MPUpdate(pc.getCurrentMp(), pc.getMaxMp()));
      } 
      i++;
    } 
  }
  
  private static void getData() {
    Connection conn = null;
    PreparedStatement pstmt = null;
    ResultSet rs = null;
    try {
      conn = DatabaseFactory.get().getConnection();
      pstmt = conn.prepareStatement("SELECT * FROM w_成就图鉴收集奖励");
      rs = pstmt.executeQuery();
      ArrayList<Object> aReturn = null;
      if (rs != null)
        while (rs.next()) {
          aReturn = new ArrayList();
          aReturn.add(0, new Integer(rs.getInt("quest")));
          aReturn.add(1, Integer.valueOf(0));
          aReturn.add(2, new Integer(rs.getInt("Attack")));
          aReturn.add(3, new Integer(rs.getInt("BowAttack")));
          aReturn.add(4, new Integer(rs.getInt("Hit")));
          aReturn.add(5, new Integer(rs.getInt("BowHit")));
          aReturn.add(6, new Integer(rs.getInt("Sp")));
          aReturn.add(7, new Integer(rs.getInt("Str")));
          aReturn.add(8, new Integer(rs.getInt("Dex")));
          aReturn.add(9, new Integer(rs.getInt("Int")));
          aReturn.add(10, new Integer(rs.getInt("Con")));
          aReturn.add(11, new Integer(rs.getInt("Cha")));
          aReturn.add(12, new Integer(rs.getInt("Wis")));
          aReturn.add(13, new Integer(rs.getInt("Hp")));
          aReturn.add(14, new Integer(rs.getInt("Mp")));
          aReturn.add(15, new Integer(rs.getInt("Mr")));
          aReturn.add(16, new Integer(rs.getInt("ReductionDmg")));
          aReturn.add(17, new Integer(rs.getInt("Hpr")));
          aReturn.add(18, new Integer(rs.getInt("Mpr")));
          aReturn.add(19, new Integer(rs.getInt("hppotion")));
          aReturn.add(20, new Integer(rs.getInt("exp")));
          aReturn.add(21, new Integer(rs.getInt("ac")));
          aReturn.add(22, new Integer(rs.getInt("weight")));
          aReturn.add(23, new Integer(rs.getInt("regist_stun")));
          aReturn.add(24, new Integer(rs.getInt("regist_stone")));
          aReturn.add(25, new Integer(rs.getInt("regist_sleep")));
          aReturn.add(26, new Integer(rs.getInt("regist_freeze")));
          aReturn.add(27, new Integer(rs.getInt("regist_sustain")));
          aReturn.add(28, new Integer(rs.getInt("regist_blind")));
          aReturn.add(29, new Integer(rs.getInt("PvP_dmg")));
          aReturn.add(30, new Integer(rs.getInt("PvP_hit")));
          aReturn.add(31, new Integer(rs.getInt("PvP_bow_dmg")));
          aReturn.add(32, new Integer(rs.getInt("PvP_bow_hit")));
          aReturn.add(33, new Integer(rs.getInt("PvP_dmg_r")));
          aReturn.add(34, new Integer(rs.getInt("PvP_magic_r")));
          aReturn.add(35, new Double(rs.getDouble("PvP_dmg_b")));
          aReturn.add(36, new Double(rs.getDouble("PvP_magic_b")));
          aReturn.add(37, new Integer(rs.getInt("Ran_PvP_dmg_b")));
          aReturn.add(38, new Integer(rs.getInt("Ran_PvP_magic_b")));
          aData.add(aReturn);
        }  
    } catch (SQLException sQLException) {
    
    } finally {
      SQLUtil.close(rs);
      SQLUtil.close(pstmt);
      SQLUtil.close(conn);
    } 
  }
}
